pre {
	display: flex;
	max-width: 100%;
	color: var(--color-fog);
	// This zero transform sets this element as the root for `position: fixed`
	transform: translate(0);

	// Color overrides
	&,
	&.z-code {
		background: var(--color-navy);

		.z-path {
			color: #679f70;

			span {
				color: #e6e1dc;
			}
		}
	}

	// Container for the element (span or table) containing the lines of code
	code {
		background: initial;
		color: inherit;
		display: block;
		overflow-x: auto;
		padding: 20px;
		width: 0;
		flex: 1 1 auto;
	}

	// Language name in top right corner
	&[data-lang] {
		padding-top: 28px;

		&::before {
			content: attr(data-lang);
			color: rgba(var(--color-seaside-rgb), 0.5);
			text-transform: lowercase;
			font-family: "Inter Variable", sans-serif;
			font-size: 0.75em;
			font-weight: 700;
			font-style: italic;
			-webkit-user-select: none;
			user-select: none;
			pointer-events: none;
			position: fixed;
			top: 0;
			line-height: 28px;
			display: block;
			width: 100%;
			text-indent: 20px;
			background: rgba(0, 0, 0, 0.25);

			&[data-lang="sh"] {
				content: "Shell";
			}

			&[data-lang="rs"] {
				content: "Rust";
			}

			&[data-lang="js"] {
				content: "JavaScript";
			}

			&[data-lang="ts"] {
				content: "TypeScript";
			}
		}
	}

	// Code blocks with line numbers
	&[data-linenos] table {
		border-spacing: 0;
		margin: -20px;

		tr {
			&:first-child td {
				padding-top: 20px;
			}

			&:last-child td {
				padding-bottom: 20px;
			}

			td {
				&:first-child {
					padding-left: 20px;
					padding-right: 10px;
					-webkit-user-select: none;
					user-select: none;
					vertical-align: top;
					text-align: right;
					background: rgba(0, 0, 0, 0.25);
				}

				&:last-child {
					padding-left: 10px;
					padding-right: 20px;
				}
			}
		}
	}
}
